草庐IT

php - Codeigniter PDO 模拟准备

全部标签

javascript - 等待 DOM 在 AngularJS 指令上准备就绪

我正在为我的Angular动力网站构建一个“导游”。我四处寻找选择和Intro.js似乎是最合适的。它已经准备好Angular指令和所有内容:AngularIntro.js.一切都按预期工作,直到我不得不向first(并且仅是第一个)添加一个步骤,一个由ng-repeat绑定(bind)注入(inject)的DOM对象。我给了所有ng-repeat项目一个唯一的ID(通过$index),但Intro.js就是不承认它。我猜Intro正在尝试通过指定的ID查找DIV,但由于ng-repeat尚未完成,因此没有该名称的DIV。我做了一个plunker,你可以看到它正在处理静态内容,但无法识

javascript - 以不推荐使用的方式模拟键盘按下?

我正在寻找一种模拟键盘按下的方法(如标题所示)。我环顾四周,主要发现了这两个SO问题:Isitpossibletosimulatekeypresseventsprogrammatically?Simulatekeypresswithoutjquery这些问题是它们都使用KeyboardEvent.initKeyboardEvent()事件,根据MDN它已被弃用。有没有不推荐使用的功能的不同方法来完成同样的事情?我想知道这一点,因为我正在使用Chrome的TamperMonkey扩展程序为YouTube创建一个脚本。此脚本将在按下[space]时触发K。K是YouTube的切换播放/暂停

javascript - 仅在闭包中定义的模拟/ stub 对象

首先,为了测试我的库,我使用了Mocha和Chai,但有时我可能也需要Sinon。这是图书馆:importServicefrom'service';//athird-partymoduleoutofmycontrolconstservice=Service(...);classMyLib{...uses`service`inabunchofdifferentways......service.put(foo)......service.get(bar)...}exportdefaultMyLib;这基本上是测试文件:importMyLibfrom'../my-lib.js';descr

javascript - Chrome 移动模拟器中的 ReactJS 升级导致触摸事件中断

我最近从React0.10升级到了React0.14。最初我收到一个错误,提示React.initializeTouchEvents不是一个函数。我读了一些文档,声称在最新版本的React中不需要这种初始化,所以我取消了它。但是,现在我的项目中没有注册任何触摸事件。我需要做什么才能让它们重新工作?下面我包含了一些我编写的简单测试代码来尝试解决这个问题。目前根本没有注册任何触摸事件。我的主要js文件:/**@jsxReact.DOM*/varReact=require('react');varReactDOM=require('react-dom');varTestButton=requ

javascript - 在 webpack 捆绑库上模拟 fbasyncInit 行为

我正在使用webpack构建一个针对浏览器的库。我真的很想在不手动修改捆绑库的情况下复制fbasyncinit行为。webpack是否提供了在加载库本身后调用函数的方法?或者是否有另一个允许这样做的替代bundler?对于那些不知道的人,window.fbasyncinit是facebooksdk在完成加载时调用的函数,因此您编写函数来初始化facebooksdk的东西。 最佳答案 根据您的设置,您可能希望将您的库设为外部和lazyload它进入目标应用程序。简而言之,这意味着您的库与应用程序一起存在,但实际上不会在初始化时加载。然

javascript - Jasmine - 如何模拟 history.pushState 和假事件发射?

在history.pushState的帮助下,我正在编写一个支持浏览器导航的库并且还捕获了popstateevent在浏览器中进行导航时进行通信。因为我正在尝试写Jasmine测试这个库,我想知道如何模拟history.pushState并且还伪造了popstate的发射来自window的信号?以下代码片段应该可以说明问题:库代码:varlib=(function(){functionnavigate(path){history.pushState(null,null,path);}functiononPopState(event){if(lib.callback){lib.callb

javascript - AngularJS - 在 Jasmine 测试用例中模拟 ngTableParams

我已经使用ng-table创建了一个应用程序,该应用程序工作正常,但是当我编写一个jasmine测试用例时,我得到了。Error:[$injector:unpr]Unknownprovider:TableParamsProvider谁能告诉我如何模拟ngTableParams并测试其功能我的代码如下Jasmine测试用例describe('TestingControllers',function(){describe('TestingWorkControllerController',function(){varWorkController,$scope;beforeEach(modu

javascript - Angular 2模拟Http get()返回本地json文件

在Angular2中模拟Httpget()返回的响应的最简单方法是什么?我的工作目录中有本地data.json文件,我希望get()返回包含该数据作为有效负载的响应,模拟其余api。为Http配置Backend对象的文档对于这样一个简单的任务来说似乎有些晦涩和复杂。 最佳答案 您需要使用MockBackend提供程序覆盖XhrBackend提供程序。然后您需要创建另一个注入(inject)器才能执行真正的HTTP请求。这是一个示例:beforeEachProviders(()=>{return[HTTP_PROVIDERS,prov

javascript - 使用 Jest 模拟在 vue 组件中导入的模块

我在处理documentationofJest时遇到一些问题,因为我希望这段代码能够工作:importVuefrom'vue';importRouterfrom'@/router/index';importOrdersServicefrom'@/services/orders.service';jest.mock('@/services/orders.service');describe('OrdersItem.vue',()=>{beforeEach(()=>{//mockCleardoesnotexistOrdersService.mockClear();});it('should

javascript - 在 Javascript 中使用 Jest 模拟整个模块

我搜索了很长时间如何用jest模拟任何模块(就像rewire那样)。我终于设法做到了这一点,而且效果很好:jest.mock('common/js/browser-utils',()=>({openBrowser:jest.fn()}));const{openBrowser:openBrowserSpy}=jest.requireMock('common/js/browser-utils');但我想知道是否有另一种快速方法可以做到这一点?我看到了genMockFromModule方法,但我从来没有让它工作(也许它不适合这种用法。)我想要的很简单:通过jest.fn()(或任何自动机制)